﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using JAVALI_Cardapio_Atendimento;
using JAVALI_Cardapio_Atendimento.Atendimento;
using System.Globalization;

namespace DotLink.Atendimento
{
    public partial class FrmDetalhesPedidos : Form
    {
        public Form Before { get; set; }

        #region Construtor
        public FrmDetalhesPedidos()
        {
            InitializeComponent();
        }
        #endregion

        #region Métodos

        public void Pedido(int idPedido, bool delivery)
        {
            var produtos = Bag.MProdutosPedidos_Array(idPedido, delivery);

            var detalhes = "";

            detalhes += "N°:" + idPedido;

            dtDetalhesPedidos.DataSource = produtos;

            var t = from prod in produtos select prod.Tempo;
            var p = from prod in produtos select Double.Parse(prod.Preco, NumberStyles.Currency);

            var tempo = (int)((t.Max() + (4 * t.Average()) + t.Min()) * t.Count()) / 6;
            if (delivery)
            {
                tempo += 15;
            }
            detalhes += "    Tempo Estimado:" + ((tempo > 60) ? (int)(tempo / 60) + "" : "00") + ":" + ((tempo < 10) ? "0" + tempo : (tempo % 60) + "") + "";

            var preco = String.Format("{0:c}", p.Sum());
            detalhes += "    Preço Total:" + preco;

            lblDetalhePedido.Text = detalhes;
        }


        /// <summary>
        /// No clique do link de Voltar, retorna para a Tela de Pedidos, e o formulário de Detalhes do Pedido é fechado
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void linkVoltarPedido_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            this.Before.Show();
            this.Hide();
        }

        private void btnVoltarPedido_Click(object sender, EventArgs e)
        {
            this.Before.Show();
            this.Hide();
        }
        #endregion
    }
}
